Dew Signal for .NET
|
Compute complex cepstrum.
Compute complex cepstrum of Src and place the result in Dst. ZeroPadding defines the amount of zero padding used. Large zero padding factors will give better phase unwrapping results. The function returns integer phase lag subtracted from the unwrapped phase. This parameter can then be used for inverse complex cepstrum. Different methods to compute complex cepstrum and its applications in homomorphic filtering can be found in [1] (Chapter 12) and [2] (p. 687). It is defined as:
Complex cepstrum can be used (among other things) to detect and measure echo delays in the signal and for filtering applications. The user should considering windowing the time time signal prior to passing it to this routine.
The main problem of efficient complex cepstrum estimation is the estimation of the complex logarithm.
As mentioned, the function returns integer phase lag subtracted from the unwrapped phase. This lag is subtracted because the unwrapped phase otherwise formes a step function for the FFT which follows. By pushing the begining and the end of the unwrapped phase towards zero, the FFT which follows will be more effective and will give a more clear picture, because there will be no circular discontinuity in the unwrapped phase. Similar effect is achieved with window functions and when removing a trend.
For example, if a time series is superimposed on a linear regression line, it makes sense first to subtract linear regression line (de-trend) and to form a zero mean signal before performing an FFT, because otherwise the signal does not start close to where it ends. (FFT sees the signal as a circular infinite signal.)
References:
[1] Discrete-time signal processing, Oppenheim and Schafer, Prentice-Hall, 1989
[2] Theory and application of digital signal processing, Lawrence R. Rabiner and Bernard Gold. Prentice-Hall, 1975
Copyright (c) 1999-2024 by Dew Research. All rights reserved.
|
What do you think about this topic? Send feedback!
|